home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 26 / Cream of the Crop 26.iso / os2 / pvm34b3.zip / pvm34b3 / pvm3 / console / job.h < prev    next >
C/C++ Source or Header  |  1997-07-22  |  3KB  |  105 lines

  1.  
  2. /* $Id: job.h,v 1.5 1997/07/09 13:21:09 pvmsrc Exp $ */
  3.  
  4. /*
  5.  *         PVM version 3.4:  Parallel Virtual Machine System
  6.  *               University of Tennessee, Knoxville TN.
  7.  *           Oak Ridge National Laboratory, Oak Ridge TN.
  8.  *                   Emory University, Atlanta GA.
  9.  *      Authors:  J. J. Dongarra, G. E. Fagg, M. Fischer
  10.  *          G. A. Geist, J. A. Kohl, R. J. Manchek, P. Mucci,
  11.  *         P. M. Papadopoulos, S. L. Scott, and V. S. Sunderam
  12.  *                   (C) 1997 All Rights Reserved
  13.  *
  14.  *                              NOTICE
  15.  *
  16.  * Permission to use, copy, modify, and distribute this software and
  17.  * its documentation for any purpose and without fee is hereby granted
  18.  * provided that the above copyright notice appear in all copies and
  19.  * that both the copyright notice and this permission notice appear in
  20.  * supporting documentation.
  21.  *
  22.  * Neither the Institutions (Emory University, Oak Ridge National
  23.  * Laboratory, and University of Tennessee) nor the Authors make any
  24.  * representations about the suitability of this software for any
  25.  * purpose.  This software is provided ``as is'' without express or
  26.  * implied warranty.
  27.  *
  28.  * PVM version 3 was funded in part by the U.S. Department of Energy,
  29.  * the National Science Foundation and the State of Tennessee.
  30.  */
  31.  
  32. /*
  33.  *    job.h
  34.  *
  35.  *    Job descriptors.
  36.  *
  37. $Log: job.h,v $
  38.  * Revision 1.5  1997/07/09  13:21:09  pvmsrc
  39.  * Fixed Author Header.
  40.  *
  41.  * Revision 1.4  1997/01/28  19:13:23  pvmsrc
  42.  * New Copyright Notice & Authors.
  43.  *
  44.  * Revision 1.3  1996/10/24  23:04:56  pvmsrc
  45.  * Added new #include "trcdef.h" for tracer library.
  46.  *     - added TRC_ID j_trcid field to job struct.
  47.  *
  48.  * Revision 1.2  1996/09/26  21:13:42  pvmsrc
  49.  * Spanked the stupid CVS "Id" strings.
  50.  *     - comments for headers, not rcsid's stupid...  :-Q
  51.  *
  52.  * Revision 1.1  1996/09/23  20:25:42  pvmsrc
  53.  * Initial revision
  54.  *
  55.  * Revision 1.2  1994/06/03  20:01:52  manchek
  56.  * version 3.3.0
  57.  *
  58.  * Revision 1.1  1993/08/30  23:30:32  manchek
  59.  * Initial revision
  60.  *
  61.  */
  62.  
  63.  
  64. /* include new tracer library header */
  65.  
  66. #include "trcdef.h"
  67.  
  68.  
  69. struct job {
  70.     struct job *j_link, *j_rlink;        /* chain of all jobs */
  71.     int j_jid;                            /* unique job id */
  72.     int j_flag;                            /* flags */
  73. #define    JOB_TRACE    1
  74.     TRC_ID j_trcid;                        /* tracer library handler ID */
  75.     struct obuf *j_obufs;                /* head of obuf list, null if trace */
  76.     FILE *j_ff;                            /* if writing to file, else -1 */
  77. };
  78.  
  79. #define    GOTSPAWN    1
  80. #define    GOTEOF        2
  81.  
  82. /*
  83. *    used to collect output from a task
  84. */
  85.  
  86. struct obuf {
  87.     struct obuf *o_link, *o_rlink;        /* chain of all tasks in job */
  88.     int o_tid;                            /* task id */
  89.     char *o_buf;                        /* buffered partial line */
  90.     int o_len;                            /* length of buf */
  91.     int o_maxl;                            /* space in buf */
  92.     int o_flag;                            /* task state */
  93. };
  94.  
  95. int job_init __ProtoGlarp__(( void ));
  96. struct job *job_new __ProtoGlarp__(( int jid ));
  97. struct job *job_find __ProtoGlarp__(( int jid ));
  98. int job_free __ProtoGlarp__(( struct job *jp ));
  99. struct obuf * obuf_new __ProtoGlarp__(( struct job *jp, int tid ));
  100. struct obuf * obuf_find __ProtoGlarp__(( struct job *jp, int tid ));
  101. int obuf_free __ProtoGlarp__(( struct job *jp, struct obuf *op ));
  102. int obuf_dump __ProtoGlarp__(( struct job *jp ));
  103. int checkoutput __ProtoGlarp__(( struct job *jp, int cc, int len, int cod, int src ));
  104.  
  105.